//package autotest;
//
//import static org.junit.Assert.assertEquals;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.Random;
//
//import org.apache.commons.lang3.StringUtils;
//import org.junit.Test;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import com.google.common.collect.Lists;
//
//import ognl.Ognl;
//import ognl.OgnlException;
//
//public class OgnlExpression {
//
//	static final Logger logger = LoggerFactory.getLogger(OgnlException.class);
//
//	static Map<String, Object> map = new HashMap<String, Object>();
//
//	static {
//		map.put("Str", new StringUtils());
//		map.put("Ran", new Random());
//		map.put("test", "abc");
//		map.put("id", "3");
//		map.put("name", new String("jack"));
//		map.put("aa", "222");
//		map.put("b", 5);
//		map.put("list", Lists.newArrayList(1, 3, 2, 5, 6));
//		for (int i = 0; i <= 10; i++)
//			map.put("arr[" + i + "]", "aaa" + i);
//	}
//
//	@Test
//	public void testExp() throws OgnlException {
//		// String exp="key.nextInt(10)";
//		String exp = "a==b";
//
//		Map<String, Object> map = new HashMap<String, Object>();
//
//		map.put("a", 7);
//		map.put("b", 5);
//		// map.put("key", new Random());
//		Object i = Ognl.getValue(exp, map);
//
//		if (i instanceof Integer) {
//			print("整数类型");
//		}
//		print(i);
//
//		// Assert.assertFalse(Boolean.parseBoolean(i.toString()));
//	}
//
//	public void print(Object o) {
//		System.out.println(o);
//	}
//
//	@Test
//	public void testMd5() throws OgnlException {
//		String exp = "MD5.base64('MHwxNDM2OTQwNjg0ODc3fFhNVEk0TkRFNU5qUXdOQT09')";
//
//		Object o = Ognl.getValue(exp, map);
//
//		System.out.println(o);
//	}
//
//	@Test
//	public void t1() throws OgnlException {
//		Object o = Ognl.getValue("1==3 || 1==1", null);
//
//		System.out.println(o);
//	}
//
//	@Test
//	public void t2() throws OgnlException {
//		String exp = "Ran.nextInt(10)+10";
//
//		Object o = Ognl.getValue(exp, map);
//
//		System.out.println(o);
//	}
//
//	@Test
//	public void t3() throws OgnlException {
//		String exp = "test=='a*c'";
//
//		Object o = Ognl.getValue(exp, map);
//		System.out.println(o);
//
//	}
//
//	@Test
//	public void t4() throws OgnlException {
//		String exp1 = "gun='ak47'";
//
//		String exp2 = "gun=='ak4s7'";
//
//		assertEquals(map.get("gun"), null);
//
//		Object o = Ognl.getValue(exp1, map);
//
//		Object o2 = Ognl.getValue(exp2, map);
//
//		assertEquals(map.get("gun"), o);
//
//		System.out.println(o2);
//
//	}
//
//	@Test
//	public void t6() throws OgnlException {
//		String s = "{\"id\":#{id},\"name\":#{name}}";
//
//		Object o = Ognl.getValue(s, map);
//
//		System.out.println(o);
//	}
//
//	@Test
//	public void t7() {
//		String s = "Str.contains(aa,'22')";
//
//		Map<String, Object> m = new HashMap<>();
//
//		m.put("dsaf", "1111");
//
//		Object o = getValue(s, map);
//
//		// if(o==null)
//		// o=getValue(s, map);
//
//		System.out.println(o);
//	}
//
//	public Object getValue(String s, Object root) {
//		try {
//			return Ognl.getValue(s, root);
//		} catch (OgnlException e) {
//			throw new RuntimeException(e);
//		}
//	}
//
//	@Test
//	public void t8() {
//		String s = "list[0]";
//		Object o = getValue(s, map);
//		logger.info(o.toString());
//	}
//
//	@Test
//	public void t9() {
//		String s = "math.random()";
//		Object o = getValue(s, map);
//
//		if (o instanceof Number) {
//			logger.info("数字");
//		} else {
//			logger.info("字符串");
//		}
//		System.out.println(o);
//	}
//	
//	@Test
//	public void t10(){
//		String exp="id==3";
//		
//		Object o=getValue(exp, map);
//		
//		System.out.println(o);
//	}
//
//}